﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>ControlSetStyle / ControlSetExStyle - 语法 &amp; 使用 | AutoHotkey v2</title>
<meta name="description" content="The ControlSetStyle and ControlSetExStyle functions change the style or extended style of the specified control, respectively." />
<meta name="ahk:equiv-v1" content="commands/Control.htm#Style" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>ControlSetStyle / ControlSetExStyle</h1>

<p>Changes the style or extended style of the specified control, respectively.</p>

<pre class="Syntax"><span class="func">ControlSetStyle</span> Value, Control <span class="optional">, WinTitle, WinText, ExcludeTitle, ExcludeText</span>
<span class="func">ControlSetExStyle</span> Value, Control <span class="optional">, WinTitle, WinText, ExcludeTitle, ExcludeText</span></pre>

<h2 id="Parameters">参数</h2>
<dl>
    <dt>Value</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#numbers">整数</a>或<a href="../Concepts.htm#strings">字符串</a></p>
        <p>Pass a positive integer to completely overwrite the window's style; that is, to set it to <em>Value</em>.</p>
        <p>To easily add, remove or toggle styles, pass a numeric string prefixed with a plus sign (+), minus sign (-) or caret (^), respectively. The new style value is calculated as shown below (where <em>CurrentStyle</em> could be retrieved with <a href="ControlGetStyle.htm">ControlGetStyle/ControlGetExStyle</a> or <a href="WinGetStyle.htm">WinGetStyle/WinGetExStyle</a>):</p>
        <table class="info">
            <tr>
                <th>Operation</th>
                <th>Prefix</th>
                <th>Example String</th>
                <th>Formula</th>
            </tr>
            <tr>
                <td>Add</td>
                <td>+</td>
                <td>+0x80</td>
                <td><code>NewStyle := CurrentStyle | Value</code></td>
            </tr>
            <tr>
                <td>Remove</td>
                <td>-</td>
                <td>-0x80</td>
                <td><code>NewStyle := CurrentStyle &amp; ~Value</code></td>
            </tr>
            <tr>
                <td>Toggle</td>
                <td>^</td>
                <td>^0x80</td>
                <td><code>NewStyle := CurrentStyle ^ Value</code></td>
            </tr>
        </table>
        <p>If <em>Value</em> is a negative integer, it is treated the same as the corresponding numeric string.</p>
        <p>To use the + or ^ prefix literally in an expression, the prefix or value must be enclosed in quote marks. 例如: <code>WinSetStyle("+0x80")</code> or <code>WinSetStyle("^" StylesToToggle)</code>. This is because the <a href="../Variables.htm#Expressions">expression</a> <code><a href="../Variables.htm#unary">+123</a></code> produces 123 (without a prefix) and <code>^123</code> is a syntax error.</p>
    </dd>
    <dt>Control</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#strings">字符串</a>, <a href="../Concepts.htm#numbers">整数</a>或<a href="../Objects.htm">对象</a></p>
        控件的 ClassNN, 文本或 HWND, 或具有 <code>Hwnd</code> 属性的对象. 有关详情, 请参阅 <a href="Control.htm#Parameter">Control 参数</a>.</p>
    </dd>
    <dt>WinTitle</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#strings">字符串</a>, <a href="../Concepts.htm#numbers">整数</a>或<a href="../Objects.htm">对象</a></p>
        <p>识别目标窗口的窗口标题或其他条件. 请参阅 <a href="../misc/WinTitle.htm">WinTitle</a>.</p>
    </dd>
    <dt>WinText</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
        <p>如果存在, 此参数必须是目标窗口的单个文本元素的子字符串(和内置的 Window Spy 工具显示的一样). 如果 <a href="DetectHiddenText.htm">DetectHiddenText</a> 为 ON, 那么会检测隐藏文本元素.</p>
    </dd>
    <dt>ExcludeTitle</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
        <p>标题中含有此参数值的窗口将被排除.</p>
    </dd>
    <dt>ExcludeText</dt>
    <dd>
        <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
        <p>文本中含有此参数值的窗口将被排除.</p>
    </dd>
</dl>

<h2 id="Return_Value">返回值</h2>
<p>类型: <a href="../Concepts.htm#boolean">整数(布尔值)</a></p>
<p>函数返回 1(true) 表示成功, 或 0(false) 表示失败.</p>

<h2 id="Error_Handling">错误处理</h2>
<p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if the target window/control is not found or the style is not allowed to be applied.</p>
<p>如果检测到无效参数, 则抛出<a href="Catch.htm#RuntimeErrors">异常</a>.</p>

<h2 id="Remarks">备注</h2>
<p>See the <a href="../misc/Styles.htm">styles table</a> for a partial listing of styles.</p>
<p>Certain style changes require that the entire window be redrawn using <a href="WinRedraw.htm">WinRedraw</a>.</p>
<p>窗口标题和文本是区分大小写的. 除非 <a href="DetectHiddenWindows.htm">DetectHiddenWindows</a> 被打开, 否则不会检测隐藏窗口.</p>

<h2 id="Related">相关</h2>
<p><a href="ControlGetStyle.htm">ControlGetStyle / ControlGetExStyle</a>, <a href="WinSetStyle.htm">WinSetStyle / WinSetExStyle</a>, <a href="../misc/Styles.htm">styles table</a>, <a href="Control.htm">Control functions</a></p>

<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a href="#ExBasic">#1</a>: Sets the WS_BORDER style of the Notepad's Edit control to its opposite state:</p>
<pre>ControlSetStyle("^0x800000", "Edit1", "ahk_class Notepad")</pre>
</div>

</body>
</html>